package com.ruoyi.fetv.service.impl;

import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.fetv.controller.userController.image.vo.RespVO;
import com.ruoyi.fetv.controller.vo.image.AddReq;
import com.ruoyi.fetv.controller.vo.image.EditReq;
import com.ruoyi.fetv.domain.FetvImage;
import com.ruoyi.fetv.mapper.FetvImageMapper;
import com.ruoyi.fetv.service.IFetvImageService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * 图片Service业务层处理
 *
 * @author Jack
 * @date 2023-03-07
 */
@Service
public class FetvImageServiceImpl implements IFetvImageService {
    @Autowired
    private FetvImageMapper fetvImageMapper;

    /**
     * 查询图片
     *
     * @param id 图片主键
     * @return 图片
     */
    @Override
    public FetvImage selectFetvImageById(Long id) {
        return fetvImageMapper.selectFetvImageById(id);
    }

    /**
     * 查询图片列表
     *
     * @param fetvImage 图片
     * @return 图片
     */
    @Override
    public List<FetvImage> selectFetvImageList(FetvImage fetvImage) {
        return fetvImageMapper.selectFetvImageList(fetvImage);
    }

    /**
     * 新增图片
     *
     * @param fetvImage 图片
     * @return 结果
     */
    @Override
    public int insertFetvImage(AddReq fetvImage) {
        fetvImage.setCreateTime(DateUtils.getNowDate());
        if (fetvImage.getReleaseTime() == null || fetvImage.getReleaseTime().toString() == "") {
            fetvImage.setReleaseTime(DateUtils.getNowDate());
        }
        return fetvImageMapper.insertFetvImage(fetvImage);
    }

    /**
     * 修改图片
     *
     * @param fetvImage 图片
     * @return 结果
     */
    @Override
    public int updateFetvImage(EditReq fetvImage) {
        fetvImage.setUpdateTime(DateUtils.getNowDate());
        return fetvImageMapper.updateFetvImage(fetvImage);
    }

    /**
     * 批量删除图片
     *
     * @param ids 需要删除的图片主键
     * @return 结果
     */
    @Override
    public int deleteFetvImageByIds(Long[] ids) {
        return fetvImageMapper.deleteFetvImageByIds(ids);
    }

    @Override
    public List<RespVO> getCarousel() {
        return fetvImageMapper.getCarousel();
    }

    /**
     * 删除图片信息
     *
     * @param id 图片主键
     * @return 结果
     */
    @Override
    public int deleteFetvImageById(Long id) {
        return fetvImageMapper.deleteFetvImageById(id);
    }
}
